約 4,085,869 件
https://w.atwiki.jp/atwikimyj/pages/15.html
perlバージョンアップ後に出てくる問題 perlのバージョンアップをすると、影響の出るものの一つに mod_perlがあるようだ。 perlのバージョンをあげて、mod_perlを利用してperlを起動させると Apacheの起動時に DynaLoader object version 1.05 does not match $DynaLoader VERSION (以下メッセージは延々続く・・) というようなエラーが出てhttpd自体が起動しなくなった。 DynaLoaderのバージョンがマッチしない・・? そもそもDynealoderって何? 調べると、perlからCで書かれたプログラムを呼び出すことができる モジュールらしい。 とりあえず再インストールを試みる。しかしCPANではそんなモジュールは 存在しない!とエラーで怒られる。調べるとperlのアプリケーション内に デフォルトでついてくるものらしい。なので個別でインストールとかは できないらしい。 手詰まり。何がおきているのやら、、。 ということでさらにエラーメッセージから調べる。 私と同じ問題にあたった人をapacheのメーリングリストで発見。 Mailing list archives(Apache-ML) http //mail-archives.apache.org/mod_mbox/perl-dev/200411.mbox/%3c20041119124457.GB3387@bongo%3e 結局 「perlをアップグレードしたら、mod_perlの静的なリンクが外れるから、 毎回mod_perlのrebuildが必要だよ」 というお答えが出ていた。。 つまり、CGIではなく、apache起動時にモジュール読ませて起動するperlは mod_perlになるのだが、このmod_perlが読み込むライブラリとDynaLoaderの ライブラリが不整合を起こしている(らしい)。なのでmod_perlをrebuild することでライブラリの整合が図れる、、はず。 mod_perlのrebuild rebuildだけやりたいけど、、よくわからん。大体意味もわからずにインス トールすると後で泣きを見る。とくにmod_perlってバージョンとか整合性 とかいろいろとデリケートだったような、、。 Apache1.xの環境ではmod_perl1.xを組み合わせ、 Apache2.xの環境ではmod_perl2.xを組み合わせる必要がある。 静的なインストールと動的なインストールがある 基本的にはapacheとmod_perlの両方を一度にビルドするべき などの情報がわかる。また、注意したいのは、mod_perl1.xについての情報 はたくさんあるが、MP2の情報は少なめ。よく読んでMP2の資料を探さないと いけない。 ということで下記が参考になった。 HATENA Diary NAOYA 「■ 10分で完了、mod_perl 2.0 で Hello, World!」 http //d.hatena.ne.jp/naoya/20060108/1136705441 isoya9の日記 「 [Linux] CentOS4 に mod_perl 2.02 をインストールする」 http //isoya.at.webry.info/200610/article_25.html 動的にmod_perlをインストールする場合は、先にapxsを インストールする必要がある。 # whereis apxs とコマンドを打って、何も出てこないのでapxsがインストール されていないことがわかった。 ということでWEBを参考にしながらapxsのインストール apxsはhttpd-develに含まれるため、 #yum install httpd-devel でインストールは終わり。 $ wget http //perl.apache.org/dist/mod_perl-2.0-current.tar.gz apacheのAPI削除 MP2インストール 上記のWEBサイトのとおりに作業をしてすんなりインストール完了。
https://w.atwiki.jp/perlism/pages/11.html
Perl 【読み】ぱぁる 【属性】プログラミング言語 ラリーウォール氏により開発され、インタプリタ式でC,AWK,シェルライクな、いまやCGIの代名詞と言っても過言ではない、他の言語とは比べ物にならないほど柔軟性に富んだプログラミング言語である。 ただ、その柔軟性が裏目に出ることがほとんどで、Aというプログラムでは通用したコードも、ひとたびBというプログラムで同じものを書くと、全く通用しなくなるといったことが起こりやすい言語である。 某人曰く、「Practical Extraction and Report Language」(実用的データ取得レポート作成言語) また某人曰く、「Pathologically Eclectic Rubbish Lister」(病的折衷主義のガラクタ出力装置)
https://w.atwiki.jp/v2cwiki/pages/265.html
V2Cスクリプトリファレンス V2Cスクリプトリファレンス v2cオブジェクト historyオブジェクト contextオブジェクト お気に入りタブコレクションオブジェクト(fvs) お気に入りタブオブジェクト(fav) お気に入りアイテムオブジェクト(o) bbsオブジェクト(bbs) boardオブジェクト(bd) レスペインオブジェクト(rp) カラムオブジェクト(col) threadオブジェクト(th) resオブジェクト(res) ユーザオブジェクト(usr) linkオブジェクト(lnk) レスラベルオブジェクト(rl) 書き込み欄オブジェクト(wp) 入力欄オブジェクト(tc) HttpRequestオブジェクト(hr) コールバック関数(V2Cから呼び出される関数) POPUP関連のコールバック関数 systemスクリプトのコールバック関数 imagecache.jsのコールバック関数 rescheck.jsのコールバック関数 subject.jsのコールバック関数 proxy.jsのコールバック関数 threadld.jsのコールバック関数 getdat.jsのコールバック関数 post.jsのコールバック関数 menu.jsのコールバック関数 v2cオブジェクト V2Cとのやりとりに使用します 型 プロパティ 説明 contextオブジェクト context contextオブジェクトを取得します。代入はできません。systemスクリプトから開いた場合はundefinedが返ります historyオブジェクト history historyオブジェクトを取得します。閲覧履歴を参照することができます。 お気に入りタブコレクションオブジェクト favorites お気に入りタブコレクションオブジェクトfvsにを返す。お気に入り全体に関する操作をすることができます boardオブジェクト[] boards V2Cに登録されている全板オブジェクトのArrayを返します java.io.File appDir ランチャーのフォルダ(JWS版またはJARファイル直接起動の場合はnull) java.io.File saveDir V2C保存用フォルダ レスペインオブジェクト resPane 現在選択されているレスペインオブジェクトを返す(2ペインモードでもnullではない) String status ステータスバーの文字列を取得します(代入により設定可能) bbsオブジェクト bbs2ch 2chのBBSオブジェクトを返す bool online V2Cがオンライン状態の時にtrueを返す bool interrupted 外部からの中断要求(スレ一覧用スクリプトでユーザによる停止ボタンのクリック等)があった時にtrueを返す余談:内部的にはThread.currentThread().isInterrupted()を返しているだけです。) レスラベルオブジェクト[] resLabels V2Cで設定されているレスラベルのArrayを返します bool compSoundEnabled 更新完了音を再生する設定がオンの時にtrueを返します。 String clipboardText クリップボードの文字列を取得します。スクリプトにはクリップボードへのアクセス許可が必要です。(${SCRIPT Tc}) 戻り値 メソッド 説明 void beep() Beep音を鳴らす void setStatus(String s) ステータスバーにメッセージを表示する。スクリプトの実行が終了するとメッセージはクリアされるので、実行後もメッセージを残したい場合はv2c.context.setStatusBarText(s)を使用する。 v2c.status = sと同等 void alert(String s) ダイアログでメッセージsを表示する bool confirm(String s) 文字列sを「OK」・「Cancel」ボタン付きのダイアログに表示し、「OK」ボタンによりダイアログが閉じられた時のみtrueを返す void print(String s) sをスクリプトコンソールに追加する。(「表示」メニューの「スクリプトコンソール…」でスクリプトからのメッセージを出力するためのウィンドウが開く。スクリプトコンソールが開いていない時のメッセージは無視される。) void println(String s) sをスクリプトコンソールに追加した後改行する。(同上) String prompt(String s,String v) 文字列sの下に初期値vの入力欄を表示し、「OK」ボタンによりダイアログが閉じられた時のみ入力欄の値を文字列として返す(その他の場合はnull) void exit() V2Cを終了する。(スクリプトにV2C終了の許可が必要です。(${SCRIPT Rx}) void restart() V2Cを再起動する。再起動できない場合はそのまま制御を返す。(スクリプトにV2C終了の許可が必要です。(${SCRIPT Rx}) void exec(String s) 文字列sをコマンドラインとして実行します。WindowsのFirefoxで2chのHPを表示させる例:v2c.exec( "C \\Program Files\\Mozilla Firefox\\firefox.exe" http //www.2ch.net/ ); void exec(String[] l) lを引数のArrayとして実行します。lの最初の要素は実行ファイルへのパスを指定してください。WindowsのFirefoxで2chのHPを表示させる例:v2c.exec([ C \\Program Files\\Mozilla Firefox\\firefox.exe , http //www.2ch.net/ ]);空白を含むパスを使用する場合は空白で区切られてしまうなど意図しない動作になる場合があるのでこちらのメソッドを推奨します。 boardオブジェクト getBoard(java.net.URL u, String n) URLがuの板がV2Cに登録されている場合その板の板オブジェクトを返す。(v2c.getBoard(u)と同じ。)uが板のURLとして登録されてない場合はURLがuで名前がnの板を新規に作成して返す。※uが外部板のURLの以外の場合は板を新規作成してくれないようです) threadオブジェクト getThread(java.net.URL u, String t, Integer n) V2CがuをスレッドのURLと認識できる場合に対応するスレッドオブジェクトを返す。(t、nは省略可) t … thのスレタイが不明の場合スレタイとして使用される(デフォルト値null) n … thのレス数がn以下の場合レス数として使用される(デフォルト値0)主に未取得スレッドのdatインポート用。 boardオブジェクト getLocalBoard(String d) フォルダ名がdのローカル板オブジェクト(該当するローカル板が存在しない場合はnull)を返します resオブジェクト(セパレータオブジェクト) createResSeparator(String s) レスとレスの間に文字列sを表示するセパレータオブジェクトを作成します。セパレータオブジェクトは下のboard.createLocalThread(st,rl)で使用します。セパレータオブジェクトsepが表示する文字列はsep.text・sep.setText(s)で取得及び設定することができます。注意:表示文字列中のタブコードと改行はスペースに置換されます。 String getSelectedText() 選択テキストを取得 String replaceSelectedText(String s) キーボードフォーカスを持つテキスト入力コンポーネントの選択テキストを置換文字列sで置換。 void reloadSettringFile(String s) ファイル名sの設定ファイルを再読み込みする。現在再読み込みできるのは samba24.txt , msgkw.txt , AAList.txt , ImageViewURLReplace.dat , ReplaceStr.txt , ReplaceStr_Tw.txt , URLExec.dat , URLExec2.dat , URLExec3.dat , NGBE.txt で、 samba24.txt は2chの samba24.txt を再読み込みする。例:v2c.reloadSettingFile( ImageViewURLReplace.dat ) void reloadSystemScript(String s) ファイル名sのシステム系スクリプトを再読み込みする例:v2c.reloadSystemScript( menu.js ) レスラベルオブジェクト getResLabel(String sn) 名前がsnのレスラベル(存在しない場合はnullを返します オブジェクト記憶メソッド 以下の関数はスクリプトファイルのパスに関連付けられており、 スクリプトの内容を変更してもスクリプトのパスを変更しない限り同じオブジェクトを参照することができます。 オブジェクトが記憶されるのはV2Cが終了するまでの間です。グローバル変数のような感じで使えます 戻り値 メソッド 説明 void setScriptObject(Object v) オブジェクトvを設定する Object getScriptObject() setScriptObject(v)で設定されたオブジェクトvを返す Object putProperty(String s, Object v) キーsに対してオブジェクトvを保存する。2回目以降の呼び出し時は、保存されたオブジェクトを返して、新しいオブジェクトvを保存する動作に変わる。初回、またはremoveProperty後はnullが返る Object getProperty(String s) キーsに対応するオブジェクトを返す Object removeProperty(String s) キーsに対応するオブジェクトを保存する。2回目以降の呼び出し時は、保存されたオブジェクトを返して、削除する動作に変わる。初回、またはremoveProperty後はnullが返る ネットワーク接続に関するメソッド openURL以下の関数はスクリプトに外部へのネットワーク接続の許可が必要です。(${SCRIPT S}) 戻り値 メソッド 説明 java.net.URL expandShortURL(java.net.URL u, bool r) URL uが短縮URLと思われる場合は展開し、それ以外の場合はuを返す。rの値により以下のように動作する: true … V2C内部にURLを展開した結果のキャッシュが存在しない場合はネットワーク接続により展開する。注意:展開が終了するまでv2c.expandShortURL(u,true)はブロックします。展開にはスクリプトに外部へのネットワーク接続の許可は不必要です。 false … V2C内部のURLを展開した結果のキャッシュのみを参照する。 String readURL(java.net.URL u) u(URL文字列)の内容を取得する。プロトコルがHTTPでContent-Typeが"text/"で始まっている場合のみ内容が文字列として返される。例外的にパーミッション無しで利用可能。Content-Lengthが不明の場合のダウンロード上限は16MB。 HttpRequestオブジェクト createHttpRequest(java.net.URL u) URLuをGETするHttpRequestオブジェクトを作成する。 HttpRequestオブジェクト createHttpRequest(java.net.URL u,String d) URLuに対してデータdをPOSTするHttpRequestオブジェクトを作成する。(dはそのまま送信されるので適切にencodeされている必要がある。) void openURL(java.net.URL u, bool bu, bool bnt, bool bbg) URL u が板またはスレッドのURLの時にスレ一覧またはレス表示欄で開きます。bu trueの時更新するbnt trueの時新タブで開くbbg trueの時裏で開く。bu, bnt, bbgは省略可。デフォルト値はそれぞれtrue, true, false。 void browseURL(java.net.URL u) URL u をブラウザで開く。JDICがインストールされている時は内部ブラウザで開く。 void browseURLExt(java.net.URL u) URL u を外部ブラウザで開く。 void browseURLDefExt(java.net.URL u) URL u をデフォルト外部ブラウザで開く ファイルパス取得関連メソッド 戻り値 メソッド 説明 java.io.File getScriptDataFile(String fn) スクリプトがデータを保存するためのパス(ファイル名はfn)をJavaのFileオブジェクトとして取得する。ファイルの場所はスクリプトフォルダ内の"scdata"フォルダ。 java.io.File getScriptSubFile(String n) スクリプトファイル名から拡張子を除いたフォルダ内の名前nのファイルパスをjavaのFileオブジェクトとして返します。注意:スクリプトファイル名が . (ピリオド)を含まない場合やスクリプトファイル名が拡張子のみの場合はnullを返す。例: V2C\script\test.js から実行した v2c.getScriptSubFile( state.txt ) は V2C\script\test\state.txt に相当するFileオブジェクトを返す ファイル・フォルダ操作関連メソッド (ファイル読み込みの許可が必要 ${SCRIPT Frw}) 戻り値 メソッド 説明 bool copyFileInfo(java.io.File f, java.io.File d) ファイルfをフォルダdにコピーし、成功した場合trueを返します。フォルダdが存在しない場合には作成します。) bool copyFile(java.io.File f0, java.io.File f1) ファイルf0をファイルf1にコピーし、成功した場合にtrueを返します ファイル読み込み関連メソッド (ファイル読み込みの許可が必要 ${SCRIPT Fr}) 戻り値 メソッド 説明 String readFile(Java.io.File f,String c) ファイルfを文字コードcのテキストファイルとして読み込んだ結果の文字列を返す。cを省略した場合、文字コードは適当に推測 String readStringFromFile(java.io.File f,String c) readFile(f,c)と同じ String[] readLinesFromFile(java.io.File f,String c) ファイルfを文字コードcのテキストファイルとして読み込んだ結果の文字列を改行で分割したArrayを返す(各行末の改行コードは削除される)cを省略した場合、文字コードは適当に推測、各行末の改行コードは削除される byte[] readBytesFromFile(java.io.File f) ファイルfの内容をバイト列として返す ファイル書き込み関連メソッド (ファイルが既に存在する場合は上書きされる。安全のためV2C保存用フォルダ(v2c.saveDir)直下のファイルへの書き込みはエラーになる。ファイル書き込みの許可が必要 ${SCRIPT Fw}) 戻り値 メソッド 説明 void writeStringToFile(java.io.File f,String s,String c) ファイルfに文字列sを文字コードcで書き込む。(cを省略した場合文字コードはデフォルトの文字コード。) void writeLinesToFile(java.io.File f,String[] sl,String c) ファイルfに文字列のArrayslを文字コードcで書き込む。cを省略した場合、デフォルトの文字コードとなる。(各行末には改行コードが追加される。) void writeBytesToFile(java.io.File f,byte[] bl) ファイルfにバイト列blを書き込む。 historyオブジェクト 注意:履歴にスレッドが存在しない場合もlengthが0のArrayを返す。 型 プロパティ 説明 threadオブジェクト[] threads レス表示履歴に存在するスレッドオブジェクトをJavaのArrayとして返す threadオブジェクト[] postThreads レス表示履歴に存在する書き込んだことのあるスレッドオブジェクトをJavaのArrayとして返す contextオブジェクト コマンドの実行に必要な情報を取得します。 ※ユーザーではなくV2C本体から呼ばれるsystemスクリプトではcontextオブジェクトは使用できません。 型 プロパティ 説明 String commandLabel スクリプトを起動したコマンドのラベル(ポップアップメニューに表示されている文字列)を取得できます。 String argLine 外部コマンド設定のスクリプトファイル名(とその後の空白)より後の文字列。(nullを返さずに""を返す。)スクリプト独自の引数を用意してユーザーに指定させてスクリプトの動作を変更させたい場合に使用します。 String[] args v2c.context.argLineを分割して作成した引数のArray(引数が存在しない時はnullを返さずにargs.length==0のArrayを返す。) resオブジェクト res ポップアップメニューを表示した、またはマウスジェスチャを開始したレスオブジェクト スレッド全体ではなく実行した場所のレス単体に対して処理したい場合に使います。 threadオブジェクト thread スレッドに関する情報を保持するオブジェクト linkオブジェクト link リンクコマンドの対象リンクオブジェクト linkオブジェクト[] links 選択テキストに含まれるリンクオブジェクトのArray String selText レス表示欄のユーザーが範囲指定した選択範囲のテキスト Integer[] filteredResIndex スクリプトが起動された時にレス表示欄に表示されていたレスのレス番号Array表示範囲内のレスではなくレス表示欄全体のレスが対象 Integer[] checkedResIndex スクリプトが起動された時にレス表示欄でチェックされていたレスのレス番号Array java.awt.Point mousePos スクリプト開始時のマウスポインタ位置をJavaのPoint pとして返します。X,Y座標はp.x,p.yです。 戻り値 メソッド 説明 void setStatusBarText(String text) スクリプトの実行終了後に文字列textをステータスバーに表示 void setClipboardText(String text) スクリプトの実行終了後に文字列textをクリップボードにコピー void setPopupText(String text) スクリプトの実行終了後に文字列textをポップアップ表示 void setPopupHTML(String text) スクリプトの実行終了後に文字列textをHTMLとしてポップアップ表示する。注意:一部のGIFファイルを表示する時にCPU使用率が上昇したままになるという問題があります。例:" html body あああ /body /html " void setPopupFocusable(bool) 2c.context.setPopupFocusable(true)を実行するとsetPopupText(text)・setPopupHTML(text)で表示したポップアップでキーボード入力ができるようになる。また、ポップアップの文字列を選択、ドラッグができるようになります。ポップアップで文字列が選択されている場合、ポップアップメニューから選択テキスト用外部コマンドを実行できます(注:v2c.context.threadはnullになってます)主にsetPopupHTML(s)で表示したフォームにキーボード入力する場合を想定している。 void setMaxPopupWidth(Integer size) v2c.context.setPopupText(text)・v2c.context.setPopupHTML(text)のポップアップの最大幅をsizeに設定する void setRedirectURL(bool) スクリプト内で関数redirectURL(u)を定義しておきv2c.context.setRedirectURL(true)を実行すると、HTMLポップアップでリンクをクリックした時にredirectURL(u)(uはjavaのURLオブジェクト)が呼ばれます。redirectURL(u)がjavaのURLオブジェクトまたはURL文字列を返した場合に限りそのURLがWebブラウザで開かれます。redirectURL関数内で更にsetRedirectURL(true);を指定して多段ポップアップさせたい場合。setPopupHTMLに渡すHTML文字列中のリンクタグは絶対パスで指定しないとポップアップしてくれません× a href="/img/sample.gif" テスト /a ○ href="http //www.v2c.com/img/sample/gif" テスト /a void setTrapFormSubmission(bool) スクリプト内で関数formSubmitted(u,sm,sd)を定義しておきv2c.context.setTrapFormSubmission(true)を実行すると、HTMLポップアップでフォームを送信した時にformSubmitted(u,sm,sd)が呼ばれます。フォームの送信処理は自動ではしてくれません。formSubmitted関数内でcreateHttpRequest等で自前でPOSTリクエストを送信する必要があります void closeOriginalPopup() formSubmitted(u,sm,sd)内でv2c.context.closeOriginalPopup()を実行すると呼び出し元のポップアップウィンドウを閉じる。元のポップアップが既に閉じられている場合でもエラーにはならない void setFilteredRes(resオブジェクト[] resArray) スクリプトの実行終了後resArrayで与えられたレスオブジェクトの列をレス表示欄で抽出して表示する。(レスは番号でソートした後重複を除いたものが表示されます。)レスポップアップからも実行可能です void setFilteredResIndex(Integer resIndex) スクリプトの実行終了後resIndexで与えられた数字列をレスのインデックスとしてレス表示欄で抽出して表示する。(同上) void setPopupRes(resオブジェクト[] resArray) resArrayで与えられたレスオブジェクトの列をスクリプトの実行終了後ポップアップ表示する。(同上) void setPopupResIndex(Integer resIndex) resIndexで与えられた数字列をレスのインデックスとしてスクリプトの実行終了後ポップアップ表示する。(同上) void setPostMessage(String text) スクリプトの実行終了後書き込み欄が開いていない場合は開き、書き込み欄の内容を文字列sで置き換える(レスポップアップからも実行できます) void insertToPostMessage(String text) スクリプトの実行終了後書き込み欄が開いていない場合は開き、書き込み欄のカーソル位置に文字列textを挿入する(レスポップアップからも実行できます) void setResToJump(resオブジェクト res) スクリプトの実行終了後レスオブジェクトresのレスを表示する void setResIndexToJump(Integer resIndex) スクリプトの実行終了後インデックスがresIndexのレスを表示する void setResPaneText(String caption, String targetTabName, bool b) スクリプトの実行終了後に文字列captionをレス表示欄のタブ(タブ名targetTabName)に表示します。bは省略可能で、true(デフォルト)の時に新しいタブで表示します。 void setResPaneHTML(String caption, String targetTabName, bool b) スクリプトの実行終了後に文字列captipnをHTMLとしてレス表示欄のタブ(タブ名targetTabName)に表示します。bは省略可能で、true(デフォルト)の時に新しいタブで表示します。注意:一部のGIFファイルを表示する時にCPU使用率が上昇したままになるという問題があります。 void closeOriginalPanel() redirectURL(u)・formSubmitted(u,sm,sd)内でv2c.context.closeOriginalPanel()を実行すると呼び出し元のレス表示欄タブまたはポップアップウィンドウを閉じる。元のレス表示欄タブまたはポップアップが既に閉じられている場合でもエラーにはならない。 void setPopupID(String idName) setPopupTextやsetPopupHTMLで表示するポップアップにID文字列 idName を設定します。 ダミーオブジェクト getPopupOfID(String idName) ID idName が設定されたポップアップが表示中の場合はダミーオブジェクトを、表示していない場合はnullを返します。注意:将来はダミーオブジェクトではなくポップアップに関する情報を保持するオブジェクトを返す可能性があります。 void setCloseOnMouseExit(bool) trueを指定するとsetPopupTextやsetPopupHTMLで表示されたポップアップからマウスを外した時にそのポップアップを閉じます。 void setDefaultCloseOnMouseExit(bool) setCloseOnMouseExit(bool)のデフォルト値を設定します。スクリプトのどこかで一度実行しておくと、以後同じ値bのsetCloseOnMouseExit(bool)を実行する必要がありません。 void setCloseOnLinkClick(bool) boolがfalseの時setPopupHTML()で表示したポップアップのリンクをクリックした時にそのポップアップを閉じません。(デフォルトはtrue。)またboolがfalseの時redirectURL()によるポップアップはマウスポインタの位置に表示されます。 お気に入りタブコレクションオブジェクト(fvs) v2c.favoritesが返すオブジェクトfvsによってお気に入り全体に関する操作をすることができます。 型 プロパティ 説明 Integer count お気に入りタブの総数 戻り値 メソッド 説明 お気に入りタブオブジェクト getFavorite(Integer i) インデックスがiのお気に入りタブオブジェクトを返す お気に入りタブオブジェクト createFavorite(String n) 名前がnのお気に入りタブを作成する お気に入りタブオブジェクト(fav) fav.appendItem(f,o), fav.insertItem(f,o,i), fav.removeItem(o)のoにはお気に入りアイテム・板・スレッドオブジェクトを使用できます。お気に入りの追加、削除に類する関数を使用するスクリプトにはお気に入り変更の許可が必要です。(${SCRIPT Vf}) 型 プロパティ 説明 String name お気に入りタブの名前 お気に入りアイテムオブジェクト root お気に入りタブのルートフォルダオブジェクト(お気に入りアイテムオブジェクト)を返す。ルートフォルダ名としても扱える 戻り値 メソッド 説明 bool contains(お気に入りアイテムオブジェクト o) oがお気に入りアイテムオブジェクトまたは板またはスレッドオブジェクトでfavがoを含む場合にtrueを返す お気に入りアイテム追加・削除の関数 (要:${SCRIPT Vf} お気に入りの追加、削除に類する関数を使用するスクリプトにはお気に入り変更の許可が必要です。(${SCRIPT Vf}) void removeAll() お気に入りタブの内容をルートフォルダのみ残して全て登録解除する void clearFolder(String f) お気に入りフォルダfの内容を空にする お気に入りアイテムオブジェクト appendFolder(お気に入りアイテムオブジェクト o, String s) お気に入りフォルダfに名前がsのフォルダを追加し、追加したフォルダオブジェクトを返す お気に入りアイテムオブジェクト insertFolder(お気に入りアイテムオブジェクト f, String s, Integer i) お気に入りフォルダfのインデックスiに名前がsのフォルダを挿入し、挿入したフォルダオブジェクトを返す。 お気に入りアイテムオブジェクト appendItem(お気に入りアイテムオブジェクト f, お気に入りアイテムオブジェクト o) お気に入りフォルダfにoを追加する お気に入りアイテムオブジェクト insertItem(お気に入りアイテムオブジェクト f, お気に入りアイテムオブジェクト o, Integer i) お気に入りフォルダfのインデックスiにoを追加する void removeItem(お気に入りアイテムオブジェクト o oの登録を解除する お気に入りアイテムオブジェクト(o) 型 プロパティ 説明 String label アイテムの名前 Integer childCount oがフォルダの場合はフォルダに含まれるアイテムの総数を、それ以外の場合は-1を返す boardオブジェクト board oが板の場合は板オブジェクトを、それ以外の場合はnullを返す threadオブジェクト thread oがスレッドの場合はスレッドオブジェクトを、それ以外の場合はnullを返す 戻り値 メソッド 説明 お気に入りアイテムオブジェクト getChild(Integer i) oがフォルダの場合はインデックスiの子アイテムを、それ以外の場合はnullを返す bbsオブジェクト(bbs) 型 プロパティ 説明 bool is2ch BBSが2ch、bbspinkの時にtrueを返します bool is2cheq BBSが2ch互換の時にtrueを返します bool shitaraba BBSがしたらばの時にtrueを返します bool machi BBSがまちBBSの時にtrueを返します bool twitter BBSがTwitterの時にtrueを返します 戻り値 メソッド 説明 boardオブジェクト getBoard(key) bbsが2chの場合、板キーがkeyの板オブジェクトを返す。板が存在しない時または2ch以外のBBSではnullを返す。(例:v2c.bbs2ch.getBoard( software )) boardオブジェクト(bd) 型 プロパティ 説明 bbsオブジェクト bbs 板オブジェクトboardからBBSオブジェクトを返します。 java.net.URL url 板のURL String name 板名 String key 板キー (板キーをparseIntで数値型に変換して1000倍するとスレ立ち時間(ミリ秒)が分かります) String anonymousName SETTING.TXTに設定されている名無し(存在しない場合は空文字列) String allAnonymousName SETTING.TXTに設定されている名無しとユーザが設定した名無しの列(存在しない場合はサイズ0の列) bool local 板オブジェクトがローカル板の場合trueを返す threadオブジェクト[] threadsWithLog 板bd内のログのある全スレッドのArray(ログのあるスレッドが無い場合はlengthが0のArray)を返します。 java.util.Map settingMap 板オブジェクトbdのSETTING.TXTをMap mとして返します。(mはnullの可能性があります。)例:2chのソフトウェア板の場合、m.get(null)、m.get( BBS_NONAME_NAME )はそれぞれ"software@soCCCncCosWvo"、"名無しさん@お腹いっぱい。"を返します。 戻り値 メソッド 説明 threadオブジェクト getThread(key) 板オブジェクトbd内のスレッドキーがkのスレッドオブジェクト(該当するスレッドが存在しない場合はnull)を返します。数値又は文字列を指定できますが数値を推奨。8桁未満の場合、板のリロードが出来ない、8桁未満を文字列で渡すと初回にエラーが出る。等問題が出てきます threadオブジェクト createLocalThread(String title, resオブジェクト resArray) 内容がresArray(レスオブジェクトまたはセパレータオブジェクトを要素とするArray)でスレタイがtitleのスレッドをローカル板bdに作成し、対応するスレッドオブジェクトを返します。注意:スレッドの作成にはスクリプトにファイル書き込みの許可が必要です。(${SCRIPT Fw}) threadオブジェクト getThread(k, u, t, n) 板bdのスレッドキーkのスレッドを既に取得している場合そのスレッドオブジェクトを返す。(bd.getThread(k)と同じ。)それ以外の場合、uを移転前の板のURLとして新規に作成したスレッドオブジェクトを返す。(uがnullの場合はbdの現在のURLから取得したと見倣す。)スレタイt(デフォルト値null)とレス数n(デフォルト値0)を指定することもできます。u、t、nは省略可 void addNGID(id, d, t, w) 文字列idを板bdのNGIDに追加する。(d、t、wは省略可)d … idが出現した時刻(ミリ秒単位のUNIX TIME)。この時刻を含む日±αでNGIDが有効になる。dが0以下の場合はbd.addNGID(*)を実行した時刻からのオフセットと見做される。(デフォルト値は0)bd.addNGID(id,-86400000); // 昨日のNGIDとして追加する例t … trueの場合透明非表示(デフォルト値はfalse)w … ウェイト(-9≦w≦9、デフォルト値は0)既にidがNGIDに登録されている場合、その設定が wより低い優先度の場合tとwの値が反映される。 wと同じウェイトかつwが0以下かつtがtrueの場合tの値が反映される。(透明非表示になる。)その他の場合tとwは無視される注意:追加したNGIDを既に表示されているレスに適用するにはv2c.resPane.checkNG(bd)を実行してください。注意:非表示・キーワード設定ダイアログが表示されている間bd.addNGID(*)は処理をスキップします。(何もしません。) レスペインオブジェクト(rp) 型 プロパティ 説明 Integer columnCount レス表示欄カラムの数を返す カラムオブジェクト[] columns レス表示ペインに表示されているカラムオブジェクトのArrayを返す Integer selectedColumnIndex 選択されているカラムのインデックスを返す。(代入により設定可能) カラムオブジェクト selectedColumn 選択されているカラムオブジェクトを返す Integer tabCount 開いているタブの数 Integer selectedIndex 選択されているタブのインデックス threadオブジェクト selectedThread 選択されているタブのスレッドオブジェクト threadオブジェクト[] threads レス表示ペインに表示されているスレッドオブジェクトのArray(レス表示タブが表示されていない場合はサイズ0のArrayを返す。Arrayの各要素はnullではない。) 戻り値 メソッド 説明 threadオブジェクト getThread(Integer tabIndex) インデックスtabIndex(最初のタブの0番目と見なされます)のタブに表示されているスレッドオブジェクト void checkNG() 全てのレス表示タブの非表示を再チェックする。 void checkNG(null) rp.checkNG()と同じ。 void checkNG(threadオブジェクト th) スレッドthのレス表示タブが表示されている場合そのレス表示タブの非表示を再チェックする。 void checkNG(boardオブジェクト bd) 板bdに属するスレッドのレス表示タブの非表示を再チェックする。res.addNGID(*)で非表示の再チェックを実行しないようになったので非表示の再チェックが必要な場合はrp.checkNG(bd)を使用してください。 カラムオブジェクト(col) レスペイン内のスレッドタブ群に対してやりとりするためのオブジェクト 型 プロパティ 説明 Integer tabCount 開いているタブの数 Integer selectedIndex 選択されているタブのインデックス threadオブジェクト selectedThread 選択されているタブのスレッドオブジェクト threadオブジェクト[] threads レス表示ペインに表示されているスレッドオブジェクトのArray(レス表示タブが表示されていない場合はサイズ0のArrayを返す。Arrayの各要素はnullではない。) 戻り値 メソッド 説明 threadオブジェクト getThread(Integer tabIndex) インデックスtabIndex(最初のタブの0番目と見なされます)のタブに表示されているスレッドオブジェクト void openThread(th, bu, bnt, bbg) (カラムの選択状態に関係無く)レス表示欄カラムcolでスレッドthを開きます。bu,bnt,bbgはth.open(bu,bnt,bbg)の引数と同じです。(省略可)注意:スレッドの更新にはスクリプトに外部へのネットワーク接続の許可が必要です。(${SCRIPT S}) threadオブジェクト(th) 未取得レス数は(th.resCount-th.localResCount)で、スレッド更新前のレス数は(th.localResCount-th.newResCount)で計算できます。 型 プロパティ 説明 boardオブジェクト bbs スレッドオブジェクトthreadからBBSオブジェクトを返します。 java.net.URL url スレッドのURL String title スレッドタイトル String key スレッドキー java.io.File localFile ローカルに保存されたログファイル Integer localResCount 既得レス数 Integer resCount localResCount、またはスレッド更新後に更新したスレ一覧にこのスレッドが含まれていた場合はそのレス数 Integer newResCount 新着レス数 Integer newMarkResCount スレッドの新着境界より後のレス数 Integer newMarkResIndex 新着境界直後のレスのインデックスを返す。新着境界が表示されていない場合は既得レス数を返す。(代入により設定可能。) Integer speed スレッドの1日当りのレス数 java.io.File sytleDir レス表示スタイルフォルダ boardオブジェクト board スレッドが属する板のboardオブジェクト java.io.File styleFile 通常の掲示板ではth.styleDir\style.txtに、Twitterではth.styleDir\style_tw.txtになります bool unread スレッドに未読レスが存在する時にtrueを返します bool local スレッドがローカルスレッドの時にtrueを返します bool live スレッドがdat落ちしていないと推測される場合にtrueを返します bool lock スレッドのレス表示タブがロックされている場合にtrueを返します。(代入により設定可能) Integer columnIndex スレッドが開かれているカラムのインデックス(開かれていない場合は-1)を返す。 Integer viewResIndex 表示されている最初のレスのインデックスを返す。(代入により設定可能。) レスラベルオブジェクト postResLabel そのスレッドで自分の書き込みに自動で付くラベルを返す。ラベルを自動で付けない場合はnullを返す。 Integer[] postResIndex そのスレッドで自分の書き込みに自動で付くラベルが付いているレスのインデックスをJavaのArrayとして返す。注意:自分の書き込みが存在しない場合やラベルを自動で付けない場合もlengthが0のArrayを返す。 戻り値 メソッド 説明 resオブジェクト getRes(Integer i) インデックスがiのレスオブジェクト(nullの可能性がある) bool update() スレッドを更新する(外部へのネットワーク接続の許可が必要 ${SCRIPT S})。実行には・th.update()の実行回数はスレ一覧の巡回数に加算され、残り巡回数が0の時は更新されない・各スレッドに対してスクリプトでの更新の間隔は10秒以上(別スクリプトや同一スクリプトの複数回実行を含む)という制限があり、この制限によりスレッドが更新されなかった場合update()はfalseを返す。 bool updateAndWait() スレッドを更新した後更新完了まで待つ。何らかの制限のためスレッドを更新できなかった場合はfalseを返す。注意:EventDispatchThread(GUI処理用のスレッド)で実行された場合はスレッドを更新せずfalseを返す。 void resetUnread() スレッドの未読状態をリセットします。(th.unreadがfalseを返すようになる。) void open(bool bu,bool bnt,bool bbg) スレッドをレス表示欄で開きます。bu trueの時更新する、bnt trueの時新タブで開く、bbg trueの時裏で開く。bu, bnt, bbgは省略可でデフォルト値はそれぞれtrue, true, false。注意:スレッドの更新にはスクリプトに外部へのネットワーク接続の許可が必要です。(${SCRIPT S}) 書き込み欄オブジェクト openWritePanel() 対応する書き込み欄を開いて書き込み欄オブジェクトを返します。(書き込み欄を開くことができなかった場合はnullを返す。) 書き込み欄オブジェクト mayOpenWritePanel() スレッドが書き込み可能な場合にのみ書き込み欄を開いて書き込み欄オブジェクトを返します。(書き込み欄を開くことができなかった場合はnullを返す。) void close() スレッドのレス表示タブを閉じます。(レス表示タブが開いていない場合もエラーになりません。) void clearNewMark() スレッドがレス表示タブで開いている場合、新着境界表示をクリアします。(レス表示タブが開いていない場合はresetUnread()を実行します。) void importPropertyFrom(threadオブジェクト th0) threadオブジェクトth0からプロパティをインポートする。インポートするプロパティは最後にインポートした時の設定が使用される。注意:スクリプトにプロパティ変更の許可が必要です。(${SCRIPT Vp}) void movePanelTo(Integer ic,Integer it) スレッドのレス表示タブをインデックスicのカラムのインデックスitのタブに移動する。ic・itが-1の場合は最後のカラム・タブに移動する。 void importDatFile(java.io.File f,String n,bool o) ファイルfをdatとしてインポートします。n,oは省略可能。datからスレタイを取得できなかった場合にn(デフォルトはnull)がスレタイになり、o(デフォルトはtrue)がfalseの場合にはスレッドをレス表示欄で開きません。 void importDatBytes(java.lang.Byte bl,String n,bool o) Javaのバイト列blをdatとしてインポートする。n,oに関してはimportDatFileと同じ resオブジェクト(res) 型 プロパティ 説明 bbsオブジェクト bbs レスオブジェクトresからBBSオブジェクトを返します。 Integer number レス番号 Integer index レスインデックス (最初のレスは0) String name 名前欄 String mail メール欄 String date 投稿時刻 Integer time 1970/01/01から投稿時刻までの経過時間(ミリ秒単位)、計算できない場合は0 String id ID String beID BeのID(基礎番号、存在しない場合は0 String aux 補助情報(まちBBSのIP等datフォーマットの投稿日時&時間&ID欄を半角区切りにした4個目以降(BeIDは除く) String message 本文 bool ng レスが非表示の場合にtrue String ngReason 非表示の理由を示す文字列を取得する。非表示でない場合はnull resオブジェクト ngOrigin 連鎖非表示の元となったレスオブジェクトを取得する。連鎖非表示でない場合はnull bool ngTransparent resが透明非表示の場合にtrueを返す Integer weight 非表示のウェイトを取得する Integer refCount 被参照数 Integer idCount 同じIDを持つレスの総数(スレッド内) linkオブジェクト[] links 本文に含まれるリンク Integer[] refResIndex レスを参照しているレスのレス番号のArray(参照しているレスが存在しない場合はnull) レスラベルオブジェクト resLabel レスresに設定されているレスラベル(設定されていない場合はnull)を返します。 String source resのソース(datの行)を返す。datファイルが存在しない場合nullを返す。呼び出す度にdatファイルを開くので、連続して呼び出すような処理の場合readStringFromFileでdatを読み込んで直接取得したほうが良い java.net.URL url resのURLを返す。対応するURLが存在しない場合はnullを返す bool twitter resがTwitterのTweetの場合にtrueを返す。 bool retweet resがリツイートされたTweetの場合にtrueを返す。Twitterレス以外ではnullを返す java.lang.Long tweetID resのTweetIDをjavaのLongとして返す。Twitterレス以外ではnullを返す ユーザオブジェクト user resのユーザオブジェクトを返す。Twitterレス以外ではnullを返す String clientName resが投稿されたクライアント名を返す。Twitterレス以外ではnullを返す 戻り値 メソッド 説明 void setResLabel(レスラベルオブジェクト rl) レスresにレスラベルrlを設定します。rlがnullの場合はレスのラベルをクリアします。rescheck.jsでは使用できません void setResLabelOfName(String sn) レスresに名前がsnのレスラベルを設定します。snがnullまたは空文字列の場合はレスのラベルをクリアしますが、それ以外でsnに該当するレスラベルが存在しない場合は何もしません。rescheck.jsでは使用できません void addNGID(bool t, Integer w) resのIDをNGIDに追加するt … trueの場合透明(デフォルト値はfalse)w … ウェイト(-9≦w≦9、デフォルト値は0)t及びwは省略可注意:4文字以下のIDはNGIDに追加できません。rescheck.jsでは使用できません void setNGRes(bool t) resを非表示にする。t(デフォルト値はfalse)がtrueの場合は透明非表示。tは省略可。rescheck.jsでは使用できません void setNoNGRes() resを常に表示する。rescheck.jsでは使用できません。 void resetNGRes() resの非表示設定をクリアする。 ユーザオブジェクト(usr) res.userプロパティから受け取れるTwitterユーザー情報のオブジェクト 型 プロパティ 説明 java.lang.Long id ユーザーID注意:Twitter検索とそれ以外ではユーザIDが違います。 String userName ユーザ名 String name 名前 (res.nameと同じ) linkオブジェクト(lnk) 型 プロパティ 説明 java.net.URL url リンクのURL java.io.File imageCacheFile リンクの画像キャッシュファイル(キャッシュが存在しない場合はnull) bool type_IMAGE リンクオブジェクトlnkのURLが画像の拡張子で終わっているかまたはImageViewURLReplace.datにマッチする行がある場合にtrueを返します。あまり当てにならない。datファイル開いて正規表現等で調べたほうが良い レスラベルオブジェクト(rl) res.resLabel,th.postResLabel等で取得できるレスラベルのオブジェクト。 型 プロパティ 説明 String name レスラベルの名前 書き込み欄オブジェクト(wp) th.openWritePanel(),th.mayOpenWritePanel()で対応する書き込み欄オブジェクトを取得できます。 型 プロパティ 説明 threadオブジェクト thread スレッドオブジェクトを返します。注意:スレ立ての場合は板・BBSオブジェクト取得等の限られた用途でしか使用できません。 入力欄オブジェクト title タイトルの入力欄オブジェクトを返します。直接文字列を代入することもできます 入力欄オブジェクト name 名前の入力欄オブジェクトを返します。直接文字列を代入することもできます 入力欄オブジェクト mail メールの入力欄オブジェクトを返します。直接文字列を代入することもできます 入力欄オブジェクト message 本文の入力欄オブジェクトを返します。直接文字列を代入することもできます bool preview 書き込みプレビューを表示している時にtrueを返します(代入により表示・非表示を操作可能) bool sage sageチェックボックスがチェックされている時trueを返します(代入によりチェックを設定可能) 戻り値 メソッド 説明 void close() 書き込み欄を閉じます 入力欄オブジェクト(tc) wp.title, wp.name, wp.mail, wp.message … 書き込み欄オブジェクトから、それぞれスレタイ入力欄、名前欄、メール欄、本文入力欄に対応するオブジェクトを取得できます。 型 プロパティ 説明 String text 入力されているテキストを返します(代入により設定可能) String selText 選択範囲のテキストを返します(代入により設定可能) Integer caretPos キャレットの位置を整数で返します(代入により設定可能) Integer selStart 選択開始位置を整数で返します(代入により設定可能) Integer selEnd 選択終了位置を整数で返します(代入により設定可能) 戻り値 メソッド 説明 void select(Integer is, Integer ie) isからieまでの範囲を選択します void copy() コピーします void paste() ペーストします void cut() カットします HttpRequestオブジェクト(hr) HTTPのファイル取得でリクエストヘッダの設定やPOSTデータの送信ができます。 まず最初にHttpRequestオブジェクトを作成します。 ※setRequestProperty(name,value)はgetContentsAs*()の前に、その他はgetContentsAs*()の後に実行する必要があります。 戻り値 コンストラクタ 説明 HttpRequestオブジェクト v2c.createHttpRequest(u) URLuをGETするHttpRequestオブジェクトを作成する。URLuは文字列、java.net.URL、どちらでも使えます HttpRequestオブジェクト v2c.createHttpRequest(u, d) URLuに対してPOSTメソッドで送るHttpRequestオブジェクトを作成する。(dはそのまま送信されるので適切にencodeされている必要がある。)dは主にmulti-partフォームデータを文字列で指定します。文字コードが間違っているとうまく行きません。var moji = java.lang.String("文字列"); d = moji.getBytes("MS932");のように変換するとShiftJISで送れます。UTF-8の場合は文字のまま送っても平気ですが。ファイルをアップロードする場合等はgetBytes("UTF-8")で文字列をUTF-8のbyte列に変換してファイルのバイト列と組み合わせましょう。multi-partフォームデータの書式は説明を省きますがグーグルですぐ見つかります。firebugを開いてネットタブを開いた状態でファイルアップロード等をすると実際にどのような書式でデータを送信したか確認することが出来ます。 型 プロパティ 説明 Integer responseCode HTTPレスポンスコード。リクエストの成否の判別に使用します。 例:成功=200 NotFound=404 転送=301 String responseMessage HTTPレスポンスメッセージ String contentType Content-Typeの値 text/html等フォーマットの判別に使います。MIME Content-Type参照 Integer date Dateの値(1970/01/01からの経過時間(ミリ秒単位)) Integer lastModified Last-Modifiedの値(1970/01/01からの経過時間(ミリ秒単位)) java.util.map allResponseHeaders 全レスポンスヘッダ 戻り値 メソッド 説明 void setRequestProperty(String name, String value) 名前nameのリクエストヘッダフィールドに値valueを設定する。 例 hr.setRequestProperty("Content-Type", "image/gif");firefoxのfirebug等で接続崎とのヘッダのやりとりを調べられます。クッキーを送りたい場合はnameにSet-Cookieを指定します。 String getResponseHeader(String name) 名前nameのレスポンスヘッダフィールドの値(同名のフィールドが複数存在した場合は最後の値)firefoxのfirebug等で接続崎とのヘッダのやりとりを調べられます。クッキーを受け取りたい場合はnameにcookieを指定します。 java.lang.byte[] getContentsAsBytes() URLuから取得した内容 java.lang.String getContentsAsString() hr.getContentsAsBytes()を文字列に変換したもの コールバック関数(V2Cから呼び出される関数) POPUP関連のコールバック関数 v2c.context.setTrapFormSubmission(true) void formSubmitted(java.net.URL u, String sm, Object sd) u … URL sm … GET または POST の文字列 sd … FORMのデータ setRedirectURL(b)・redirectURL(u)とよく似た方式で、v2c.context.setTrapFormSubmission(true)を実行しておくとHTMLポップアップ内のFORMを送信する時にスクリプトのformSubmitted(u,sm,sd)が呼ばれます。formSubmitted()の返り値によらずFORMは送信されません。v2c.context.setTrapFormSubmission(true)で設定された値はformSubmitted()を呼ぶ前にリセットされます。 使用例は: function formSubmitted(u,sm,sd) { v2c.println( URL +u); br(); v2c.println( method +sm); v2c.println( data +sd); } var vcx = v2c.context; vcx.setPopupHTML( html body style="margin 10px;" form action="" input type="submit" value="action" name="name" /form /body /html ); vcx.setTrapFormSubmission(true); v2c.context.setRedirectURL(true) java.net.URL redirectURL(java.net.URL u) u … URL setRedirectURL(true)を実行しておくとHTMLポップアップ上でリンクをクリックした場合redirectURLが呼ばれます。redirectURL関数内で再度setRedirectURL(true)を指定すると多段ポップアップします。ただし、ポップアップのHTML内のリンクは絶対参照でないとリンクと認識してくれなくてポップアップできません 多段ポップアップできない例: ○ a href="http //www.google.com/image/" テスト /a × a href="./image/" テスト /a redirectURL(u)のイメージは: function redirectURL(u) { if (uを独自に処理したい) { uの処理; // setPopupHTML等 return null; } else if (別のURLをWebブラウザで開きたい) { return 別のURL; } else { return u; // そのままWebブラウザで開く(デフォルトの動作) } } systemスクリプトのコールバック関数 システムスクリプトを変更した場合はファイル→再読み込みで各システムスクリプトを再読み込みすることが出来ます。 スクリプト中で"_v2c_"で始まる名前は使用しないで下さい imagecache.jsのコールバック関数 imagecache.js void getDownloadNewImagesLimit(threadオブジェクト th, Object ov) スレッドレッドを更新後、新着画像ファイルのダウンロードを開始する前に呼ばれる。返値は無視される。 th … スレッドオブジェクト ov … 新着画像ファイルダウンロードの設定を保持するオブジェクト ov.maxdays … 初期値として「リンク・画像・動画」設定「新着画像ダウンロード」枠内の「D日前まで」のDが設定されています。必要に応じてこの値を変更してください。 ov.maximgs … 初期値として「リンク・画像・動画」設定「新着画像ダウンロード」枠内の「N枚まで」のNが設定されています。必要に応じてこの値を変更してください。 rescheck.jsのコールバック関数 下のような自明な関数は未定義にしておく方が実行速度が上がります function beginCheck(th,cx) {return true;} function checkRawText(res,cx) {} function checkAA(res,cx) {} function checkNG(res,cx) {} function endCheck(th,cx) {} 本文に特定の文字列を含むレスをAAレスと判定する例: function checkAA(res,cx) { if (res.message.indexOf( ( ・e・) ) =0) { res.setAA(true); } } レス読み込みの処理は以下のような順番になります。 beginCheck(th,cx) (cx.checkRawText・cx.checkAA・cx.checkNGがtrue) 各レスについて以下の繰り返し " "によるフィールドの分離 checkRawText(th,cx) ReplaceStr.txtによる置換 レスの解析(時間・IDの分離や本文のリンク化等) 通常の非表示・キーワードのチェック checkAA(res,cx) checkNG(res,cx) endCheck(th,cx) 非表示の再チェックでは各レスに対してcheckNG(res,cx)だけが実行されます。 beginCheck(th,cx) (cx.checkNGがtrue) 各レスについて以下の繰り返し checkNG(res,cx) endCheck(th,cx) rescheck.js Object beginCheck(threadオブジェクト th, Object cx) beginCheck(th,cx)の返り値がfalseまたはbooleanとしてfalseと評価される場合は以後の処理はスキップされます。戻り値に任意のオブジェクトを渡して以下のコールバック関数に渡すことができます th … スレッドオブジェクト cx … チェックに関するオブジェクトスレッド読み込み時はcx.checkRawText・cx.checkAA・cx.checkNGは全てtrue、非表示の再チェック時はcx.checkNGのみtrue。 cx.checkRawText … trueの場合テキスト置換関数checkRawText(res,cx)が各レスに対して実行される。実行を抑止したい場合はcx.setCheckRawText(false)を実行する。 cx.checkAA … trueの場合AA判定関数checkAA(res,cx)が各レスに対して実行される。実行を抑止したい場合はcx.setCheckAA(false)を実行する。 cx.checkNG … trueの場合NG指定関数checkNG(res,cx)が各レスに対して実行される。実行を抑止したい場合はcx.setCheckNG(false)を実行する。 rescheck.js void checkRawText(resオブジェクト res, Object cx) 主にレスのテキストを置換するための関数(この関数のresオブジェクトでのみ使用できる拡張定義があります) res … レスオブジェクト 型 プロパティ 説明 String timeid 時間とIDを解析する前の文字列を取得します。 戻り値 メソッド 説明 void setName(String name) 名前欄を文字列nameに設定する void setMail(String text) メール欄を文字列textに設定する void setMessage(String text) 本文を文字列textに設定する void setNanasi(bool) trueで名無しとして、falseで名無し以外の名前としてそれぞれ扱いが固定されます cx … チェックに関する情報を保持するオブジェクト。cx.checkObjectでbeginCheck(th,cx)で返されたオブジェクトを取得することができます。 reccheck.js void checkAA(resオブジェクト res,Object cx) AA判定をするための関数この関数のresオブジェクトでのみ使用できる拡張定義があります) res … レスオブジェクト 戻り値 メソッド 説明 void setAA(bool) boolがtrueの場合このレスをAAレスと判定する cx … チェックに関する情報を保持するオブジェクト。cx.checkObjectでbeginCheck(th,cx)で返されたオブジェクトを取得することができます。 rescheck.js void checkNG(resオブジェクトres,Object cx) 非表示判定をするための関数。この関数のresオブジェクトでのみ使用できる拡張定義があります) res … レスオブジェクト 型 プロパティ 説明 Integer weight 非表示のウェイトを取得する 戻り値 メソッド 説明 void setNG(String labelName, bool b, Integer, wait) このレスを非表示レスと判定する。b及びwaitは省略可labelName … ラベルb … trueの場合透明(デフォルト値はfalsewait … ウェイト (-9≦wait≦9、デフォルト値は0) void resetNG() setNG()の非表示設定をクリアする。 cx … 判定に関する情報を保持するオブジェクト。cx.checkObjectでbeginCheck(th,cx)で返されたオブジェクトを取得することができます。 rescheck.js void endCheck(threadオブジェクト th, Object cx) res … レスオブジェクト cx … 判定に関する情報を保持するオブジェクト subject.jsのコールバック関数 注意: checkSubject(ss,bd,cx)はsubject.txtを実際に取得した時にのみ実行されます。(例えばHTTPレスポンスコードが 304 Not Modified. の時は実行されない。) 現在ローカル板・Twitter仮想板でcheckSubject(ss,bd,cx)は実行されませんが、将来実行される可能性があります。 ソフトウェア板でスレッド924を下げてスレタイの先頭に★を追加する例: function checkSubject(ss,bd,cx) { if (!bd.bbs.is2ch||(bd.key!= software )) { return ss; } var re=new RegExp( ^(\\d+)\\.dat (.+) \\((\\d+)\\)$ , gm ); var ls=[],ls9=[]; var rt; while (rt=re.exec(ss)) { if (rt[1][0]== 9 ) { ls9.push(rt[1]+ .dat ★ +rt[2]+ ( +rt[3]+ )\n ); } else { ls.push(rt[0]+ \n ); } } return ls.concat(ls9).join( ); } subject.js threadオブジェクト[] checkSubject(String ss, boardオブジェクト bd, Object cx) subject.txtを取得した後解析する前に実行されます。ssそのまま、または変更した文字列を返してください。 ss … 取得したsubject.txt bd … 板オブジェクト cx … (現在はダミー) proxy.jsのコールバック関数 例: function checkProxy(u,p) { if (RegExp( ^http //[0-9A-Za-z-]+\\.2ch\\.net/software/subject.txt$ ).test(u)) { p.host = localhost ; p.port = 2020; } } 注意: Proxy.txt内のProxyを選択してレスを書き込む時はcheckProxy(u,p)は実行されません。 proxy.jsを変更した時は「ファイル」メニューの「再読み込み」→「proxy.js」で再読み込みすることができます。 小技: 予めV2Cの設定で書き込みポート1111、読み込みポート2222と決めておくことで、スクリプトから読み書きの内、片方だけ変更することができます。 function checkProxy(u, p) { p.host = localhost ; if (p.port == 1111) { // 書き込みポートの場合 p.port = 8080; } if (p.port == 2222) { // 読み込みポートの場合 p.port = 8888; } } proxy.js void checkProxy(java.net.URL u, Object p) V2Cがネットワーク接続する前に実行されます。 u … javaのURLオブジェクト。 p … Proxy情報を保持するオブジェクト。ネットワーク設定でProxyを使用する設定になっている場合はその情報が設定されている。 p.host … Proxyのホスト名。(代入により設定可能。) p.port … Proxyのポート番号。(代入により設定可能。) p.direct() … 直接接続に設定する。(p.hostをnullに、p.portを0に設定する。) threadld.jsのコールバック関数 threadld.js void threadUpdated(threadオブジェクト th, Object cx) スレッドの更新完了後更新音を再生する直前に実行されます。 th … スレッドオブジェクト。 cx … スレッドの更新に関する情報を保持するオブジェクト cx.numNewRes … 更新によって取得されたレス数。 cx.error … 更新中に何らかのエラーが発生した時にtrueを返します。 cx.soundName … V2Cの設定によって再生される予定のサウンドファイル名を返します。(サウンドファイルが指定されていない場合または「更新完了音を再生する」設定がオフの場合はnull。) cx.soundName = filename ; で更新完了音を変更することができます。 cx.rounding … 巡回中にスレッドが更新された場合にtrueを返します。 getdat.jsのコールバック関数 getDat(th)はスレッドの過去ログを取得できなかった時に実行されます。(thはスレッドオブジェクト。) getdat.js threadオブジェクト getDat(threadオブジェクト th) スレッドのログファイルの内容を返します。getDat(th)はしたらばやまちBBSでも実行されますが、V2Cのログ保存形式はしたらばではrawmode.cgiそのまま、まちBBSでもしたらばと同じ形式に変換しているので注意してください。getdat.jsにはデフォルトでネットワーク接続("S")が許可されています。 th … スレッドオブジェクト 戻り値 byte[] … バイト列byte[]をログファイルの内容として保存します。 null … ログファイルを取得できなかったことを示します。 上記以外 … 返されたオブジェクトを文字列に変換し、それをさらに掲示板の文字コードでバイト列に変換したものをログファイルの内容として保存します。 post.jsのコールバック関数 post.js void checkBeforeCreateThread(書き込み欄オブジェクト wp) スレ立て時、V2Cが書き込み内容をチェックする前に実行されます。true以外を返すとスレ立て処理を中断します。 wp … 書き込み欄オブジェクト post.js checkBeforePost(書き込み欄オブジェクト wp) 書き込み時、V2Cが書き込み内容をチェックする前に実行されます。true以外を返すと書き込み処理を中断します。 wp … 書き込み欄オブジェクト menu.jsのコールバック関数 レス表示ポップアップメニューから「マーカーを引いたレスを抽出」を削除する例: function popupMenuCreated(pm,sn) { if (sn== ThreadPanel ) { for (var i=pm.getComponentCount()-1; i =0; i--) { var mi=pm.getComponent(i); if (!(mi instanceof javax.swing.JMenuItem)) { // セパレータ continue; } if (mi.getText().startsWith( マーカーを引いたレスを抽出 )) { pm.remove(i); break; } } } } レス番号ポップアップメニューの「設定」の最初のセパレータまでの項目を展開する例: function popupMenuCreated(pm,sn) { if (sn== ResNum ) { loop for (var i=pm.getComponentCount()-1; i =0; i--) { var mi=pm.getComponent(i); if (!(mi instanceof javax.swing.JMenuItem)) { // セパレータ continue; } if (mi.getText()== 設定 ) { // mi は javax.swing.JMenu for (var j=0; j mi.getItemCount(); j++) { var mj=mi.getItem(j); if (!(mj instanceof javax.swing.JMenuItem)) { // セパレータ mi.remove(j); for (var k=j-1; k =0; k--) { pm.insert(mi.getItem(k),i); } break loop; } } break; } } } } レス表示ポップアップメニューの抽出系の項目を下位メニューにまとめる例: function popupMenuCreated(pm,sn) { if (sn== ThreadPanel ) { var ie=-1; for (var i=pm.getComponentCount()-1; i =0; i--) { var mi=pm.getComponent(i); if (!(mi instanceof javax.swing.JMenuItem)) { // セパレータ continue; } var sl=mi.getText(); if (ie 0) { if (sl.startsWith( 抽出ダイアログ )) { ie = i; } } else { if (sl.startsWith( リンクを含むレスを抽出 )) { var m=new javax.swing.JMenu( 抽出 ); for (var j=ie; j =i; j--) { m.insert(pm.getComponent(j),0); } pm.insert(m,i); break; } } } } } menu.js void popupMenuCreated(javax.swing.JPopupMenu pm, String sn) popupMenuCreated(pm,sn)はポップアップメニューが作成された時に実行されます。 pm … 作成されたポップアップメニュー(JPopupMenu)。 sn … 作成されたポップアップメニューの名前。 snに指定できるポップアップメニュー名 ThreadPanel レス表示欄ポップアップメニュー TwitterPanel Tweet表示欄ポップアップメニュー ResNum レス番号ポップアップメニュー ResCheck レスのチェックポップアップメニュー Name 名前欄ポップアップメニュー TwitterUserName Twitterユーザ名ポップアップメニュー Mail メール欄ポップアップメニュー Time 投稿時間ポップアップメニュー ID IDポップアップメニュー Aux 補助情報ポップアップメニュー Link リンクポップアップメニュー Thumbnail サムネイル画像ポップアップメニュー SelText 選択テキストポップアップメニュー SelTextLink 選択範囲のリンクポップアップメニュー menu.jsで使用するJavaオブジェクトの説明 メニュー項目のイメージ: □JMenu pm (右クリックメニューの起点root) ├ JMenuItem メニュー項目 ├ ──── (pm.addSeparator()で追加した区切り線) ├ JMenu subMenu │ └ JMenuItem メニュー項目 └JMenuItem メニュー項目 メニュー操作のJava6リファレンスリンク Java6 リファレンスJMenu Java6 リファレンス JMenuItem Java6 リファレンス JCheckBoxMenuItem 表中の省略名は以下のオブジェクトを示します pm = javax.swing.JMenu o = javax.swing.JMenuItem cbo = javax.swing.JCheckBoxMenuItem 戻り値 メソッド 引数 説明 javax.swing.JMenuItem pm.insert(JMenu subMenu, Integer index) subMenu 子メニュー。JMenuではなくIMenuItemを渡すとメニュー項目を挿入できます。 index 子メニュー(またはメニュー項目)をJMenuItem一覧のインデックス index(最初の項目を0とする)の直上に挿入します JMenu pmを起点とする右クリックメニューのJMenuItem一覧のインデックス index(最初の項目を0とする)の直上に子メニュー subMenuを挿入します。子メニュー subMenuに対してsubMenu.insert(JMenu subMenu2, Integer index)を使うと孫メニューを挿入できます。またJMenuItemを挿入することもできます。javax.swing.MenuItem(String maenuName)…メニュー項目javax.swing.JCheckBoxMenuItem(String menuName, bool checked)…チェックボックス付きのメニュー項目。checkedがtrueだとチェック済みのメニュー項目を作成します 戻り値 メソッド 引数 説明 javax.swing.JMenu pm.add(JMenu subMenu) subMenu JMenuItem一覧の末尾に子メニュー subMenuを追加します(同上) void pm.remove(Integer index) index メニューのJMenuItem一覧のインデックス index(最初の項目を0とする)のJMenuItemを削除します 戻り値 メソッド 引数 説明 javax.swing.JMenuItem pm.getComponent(Integer index) index JMenuItem一覧のインデックス index(最初の項目を0とする) javax.swing.JMenuItem pm.getItem(Integer index) メニューのJMenuItem一覧のインデックス index(最初の項目を0とする)のJMenuItemを返します。 JMenuItemでない項目はセパレータです if (menuItem instanceof javax.swing.JMenuItem)で判別します 戻り値 メソッド 引数 説明 String pm.getText() なし JMenuメニュー項目名を返します String o.getText() なし JMenuItem項目名を返します Integer pm.getComponentCount() なし メニューのJMenuItem項目数を返します void pm.addSeparator() なし メニュー項目の末尾に区切り線を挿入します 戻り値 メソッド 引数 説明 void o.addActionListener(action) function javascriptの関数オブジェクト JMenuItemをクリックした時に処理させたい関数を指定できます。o.addActionListener(function(e) { v2c.alert( クリックされたよ );});o.addActionListener(new java.awt.event.ActionListener({ actionPerformed function(e) { v2c.alert( クリックされたよ ); }})); 戻り値 メソッド 引数 説明 void cbo.addChangeListener(action) function javascriptの関数オブジェクト JCheckBoxMenuItemをクリックされたときに処理させたい関数を指定できますo.addChangeListener(new java.awt.event.ChangeListener({ stateChanged function(e) { if (e.source.isSelected()) { // チェック状態を確認する e.source.setSelected(true); //チェックを入れる } }}));
https://w.atwiki.jp/ppphp/pages/13.html
リファレンス 対応する PHP マニュアル PHP リファレンスの説明 - Manual リファレンス (参照) はある意味で非常に面倒な機能です。 正しく使えば便利ですし、正しい使い方を学ぶのもそこまで難しくはありません。 ただ一点、正しくない使い方を見つけるのが非常に面倒なのです。 リファレンスを使うことがない、または使う必要のない場合、そのままでいたほうが幸せです。 無理してリファレンスを使うことはありません。 もし、もしも、運悪くリファレンスと遭遇してしまったら…… ……入社先のコードで既に使われていたら。 ……どうしてか PHP4 時代の PEAR を使う羽目になってしまったら。 スクリプトを書き始める前に、リファレンスの仕様を確認しましょう。 リファレンスとは エイリアス (別名) とも呼ばれるように、リファレンスがすることは "ある名前 (の変数) が指す値に、別の名前 (の変数) を与える" というものです。 $keitai = ドコモ ; // $keitai (名前) は ドコモ (値)$cellPhone = $keitai; // $cellPhone (名前) と $keitai は同じ値を指し示す名前。$keitai = ソフトバンク ; // ドコモからソフトバンクに買い替えたので、 $keitai の値を変更する。echo $cellPhone; // ソフトバンク // $keitai と $cellPhone は同じ値を指し示している! unset($keitai); // $keitai という名前を破棄してもecho $cellPhone; // ソフトバンク // $cellPhone という名前は残る。 リファレンス渡し 非推奨な方法のリファレンス渡し リファレンスを返す リファレンスを使うべきポイント こういった理由なら、リファレンスを使うのは一旦考えたほうがいいよ コピーのコストを削減する
https://w.atwiki.jp/atwikimyj/pages/38.html
mod_perl2では実行しているスクリプトのあるディレクトリを カレントディレクトリとして認識してくれないので面倒! という記事によくあたる。へえ、それ面倒だな、、と思っていたが、 いろいろと調べるとそうとは限らないようだ。 カレントディレクトリがどうなるかは、動作モデルによるらしい。 参考: TurboLinux「Apache MPM を変更する」 http //www.turbolinux.co.jp/support/document/knowledge/627.html えーっと、Apache2では動作モデルがいっぱい選択できる。その中の prefork動作とWorker動作について説明すると、、 prefork動作ではクライアントからのリクエストがある度 に子プロセスを作成する。 Worker動作では複数のプロセスとスレッドによりリクエストを処理します。 複数のスレッドは同じメモリを共有し、連携して処理が行われます。 スレッドってなんじゃい?linuxでのマルチスレッド、マルチプロセスの話は hatenaの伊藤さんが詳しく説明されています。 Hatena Diary naoya「マルチスレッドのコンテキスト切り替えに伴うコスト」 http //d.hatena.ne.jp/naoya/20071010/1192040413 (社内勉強用の資料のようです。いいなあ。はてな入ってperlやりてえなあ でもこの資料まともに読めない自分のような人間は必要ないだろうなあ) preforkは従来のmod_perlと同じやり方となり、安定性がある。 worker動作をさせたほうが、効率的で、処理が速い、らしい。 よほどの理由がない限り、worker動作を使いこなせるはずもない。 また、preforkはスクリプトのあるディレクトリをカレントディレクトリ として認識してくれるので、やはりこちらか。ということで、 下記のサイトを参考にPrefork専用のハンドラーを利用するということにする。 adiary開発日誌「2006/04/15(土) mod_perl で chdir」 http //adiary.blog.abk.nu/07 TransFreeBSDの日記 「[perl]ModPerl {PerlRun,Registry,RegistryPrefork}でのカレントディレクトリ、BEGINブロック、@INCの扱いメモ」 http //freebsd.g.hatena.ne.jp/TransFreeBSD/20061124/p1 日誌「Apache MPM」 http //tkusano.asablo.jp/blog/2006/11/10/745619
https://w.atwiki.jp/atwikimyj/pages/88.html
PLESK環境での話。 某PLESK環境のVPSでmod_perl2を使おうとしたが、 ApacheはVersion2なのだが、mo_perlが1.99だった。 ということでmod_perl2にアップグレードする。 このサイトを思いっきり参考にさせていただきました。 isoya9の日記 Linux CentOS4 に mod_perl 2.02 をインストールす>る 1.apxsをインストール 確認すると下記のパスに /usr/sbin/apxs が存在。つまりapxsがインストールされていたので次の工程へ。 2.既存 Apache2 API を削除 $ find /usr/lib/perl5 -name Apache2* -exec rm -rf {} \; $ find /usr/lib/perl5 -name Apache2* -exec ls -lR {} \; perlライブラリ内のApache2関連のAPIを根こそぎ削除しています。 実行後は何も表示されません。 3.mod_perl2の入手とインストール Apacheのmod_perlのページ からインストールをします。 ほかのアプリケーションと同じように、ダウンロード、 解凍、make、make test、make installでOK。 途中でapxsのパスを聞かれるのでインストールした 時のパス(/usr/sbin/apxs)を入力する必要があります。 ここでmod_perl2がインストールされているかチェック #!/usr/bin/perl print "Content-Type text/plain\n\n"; print ($ENV{ MOD_PERL } || ERROR ); 上記のような簡単なスクリプトを作成し、 mod_perl_test.pl と名づけ(今回のPLESK環境では拡張子plで のみmod_perl2による動作をすることになっ ている)、実際に実行してみる。 mod_perl/2.0.3 というような表示がされればとりあえず バージョンアップに成功。だめな場合は ERRORが出るので次の作業に。 4.CPANからmod_perl2をインストール もし3までの作業で、mod_perl2が動かなかったら apacheのエラーログを見てみる。PLESK環境であれば virtualHostのエラーログとなる。 /var/www/vhosts/DOMAINNAME.COM/statistics/logs の中のerror_log になるだろう。 その中に failed to resolve handler `ModPerl Registry Can t locate ModPerl/Registry.pm in @INC (@INC (略) というようなエラーが出ていたら、たぶん、 mod_perl2用のモジュールを入れる必要がある。 ということで $perl -MCPAN -e shell \ cpan install mod_perl2 ここで、インストールに失敗する場合はたぶんroot権限で サーバにログインしてこの作業をしようとしているのでは ないかと思われる。その場合は途中で出てくるテストを すべてスキップする。 [warning] result [ error] You are running the test suite under user root . Apache cannot spawn child processes as root , therefore こんなwarningが出るのでここでスキップするか聞いてくるので YESを選ぶとスキップできる。 また、この作業の中で /usr/lib/httpd/modules/mod_perl.so というファイルを作成しようとするが、すでにこのファイルが 存在する場合はエラーになってしまう(そういうメッセージが 出る) その場合は上記のファイルをリネームして再度この作業を 実行させればよい。 これで再度 mod_perl_test.pl を実行してみるとおそらくmod_perlのバージョンが表示される はずである。
https://w.atwiki.jp/oneokrock10969/pages/65.html
残響リファレンス 2011年10月5日に発売された5thアルバム。 まさに全盛期、ノリにノッたロックから 切ないバラードまで、とにかく充実した曲たちが待っている。 収録曲 01. Coda 02. LOST AND FOUND 03. アンサイズニア 04. NO SCARED 05. C.h.a.o.s.m.y.t.h. 06. Mr.現代Speaker 07. 世間知らずの宇宙飛行士 08. Re make 09. Pierce 10. Let s take it someday 11. キミシダイ列車 Secret. たてやま
https://w.atwiki.jp/hakoniwa_project/pages/63.html
本体プログラムのフィールド上で実行されるイベントスクリプトのリファレンスです。 定数リファレンス ここをクリックして展開 [▼] 定数名 値 説明 SYS_PI 3.141592654 円周率 関数リファレンス 基本 System.Wait関数 System.Wait関数 説明指定したフレーム数分ウェイト(処理の中断)をします。 引数 順番 型 説明 1 整数 ウエイトしたいフレーム数 戻り値なし メッセージウィンドウ System.Message関数 System.Message関数 説明メッセージウィンドウを用いて文字列を表示します。 引数 順番 型 説明 1 文字列 表示したい文字列 戻り値なし 補足メッセージの文字列には以下の制御文字が使える。%n:改行 %!:キー入力待ち %^:キー入力なしにメッセージ表示の終了 %%:% を表示 System.SetName関数 System.SetName関数 説明メッセージウインドウの左上に表示される名前を変更します。 引数 順番 型 説明 1 文字列 表示したい名前名前を表示しない場合はからの文字列を指定します。 戻り値なし System.SetDrawMessageWindow関数 System.SetDrawMessageWindow関数 説明メッセージウインドウ枠を表示/非表示にします。 引数 順番 型 説明 1 真理値 メッセージウィンドウ枠を表示するかどうか表示:true、非表示:false 戻り値なし System.SetMessageDrawInterval関数 System.SetMessageDrawInterval関数 説明メッセージ文字列の文字送りの速度を変更します。 引数 順番 型 説明 1 整数 表示間隔(フレーム単位、整数) 戻り値なし System.ChangeNameWindow関数 System.ChangeNameWindow関数 説明メッセージウィンドウの名前枠の画像を変更します。 引数 順番 型 説明 1 文字列 新しい名前枠の画像のパス 戻り値なし System.ChangeMessageWindow関数 System.ChangeMessageWindow関数 説明メッセージウィンドウのメッセージ枠の画像を変更します。 引数 順番 型 説明 1 文字列 新しいメッセージ枠の画像のパス 戻り値なし System.SetNameWindowMargin関数 System.SetNameWindowMargin関数 説明名前枠内に表示する文字列のマージンを設定します。 引数 順番 型 説明 1 整数 左側のマージン 2 整数 右側のマージン 3 整数 上側のマージン 4 整数 下側のマージン 戻り値なし System.SetMessageWindowMargin関数 System.SetMessageWindowMargin関数 説明メッセージ枠内に表示する文字列のマージンを設定します。 引数 順番 型 説明 1 整数 左側のマージン 2 整数 右側のマージン 3 整数 上側のマージン 4 整数 下側のマージン 戻り値なし System.Choice関数 System.Choice関数 説明選択肢を表示します。 引数 順番 型 説明 1 文字列 選択肢の説明文 2 文字列の配列 選択肢の項目の配列 戻り値 型 説明 整数 選択した項目の番号(一番上が0) グローバル変数操作 System.GetGInteger関数 System.GetGInteger関数 説明整数用グローバル変数の値を取得します。 引数 順番 型 説明 1 文字列 取得したい変数の名前 戻り値 型 説明 整数 取得した値 System.SetGInteger関数 System.SetGInteger関数 説明整数用グローバル変数に値を代入します。 引数 順番 型 説明 1 文字列 代入先の変数の名前 2 整数 代入する数値 戻り値なし System.GetGDouble関数 System.GetGDouble関数 説明実数用グローバル変数の値を取得します。 引数 順番 型 説明 1 実数 取得したい変数の名前 戻り値 型 説明 実数 取得した値 System.SetGDouble関数 System.SetGDouble関数 説明実数用グローバル変数に値を代入します。 引数 順番 型 説明 1 文字列 代入先の変数の名前 2 実数 代入する数値 戻り値なし System.GetGString関数 System.GetGString関数 説明文字列用グローバル変数の値を取得します。 引数 順番 型 説明 1 文字列 取得したい変数の名前 戻り値 型 説明 文字列 取得した値 System.SetGString関数 System.SetGString関数 説明文字列用グローバル変数に値を代入します。 引数 順番 型 説明 1 文字列 代入先の変数の名前 2 文字列 代入する数値 戻り値なし System.GetGSwitch関数 System.GetGSwitch関数 説明グローバルスイッチの値を取得します。 引数 順番 型 説明 1 文字列 取得したいスイッチの名前 戻り値 型 説明 真理値 取得した値 System.SetGSwitch関数 System.SetGSwitch関数 説明グローバルスイッチのON/OFFを切り替えます。 引数 順番 型 説明 1 文字列 スイッチの名前 2 真理値 ONにする場合はtrue、OFFにする場合はfalse 戻り値なし プレイヤー操作 System.LockPlayer関数 System.LockPlayer関数 説明プレイヤーをコントローラ操作できなくします。 引数なし 戻り値なし System.UnlockPlayer関数 System.UnlockPlayer関数 説明プレイヤーをコントローラ操作できるようにします。 引数なし 戻り値なし System.GetPlayerPosition関数 System.GetPlayerPosition関数 説明プレイヤーの現在位置を取得します。 引数なし 戻り値 順番 型 説明 1 実数 プレイヤーの現在位置(X座標) 2 実数 プレイヤーの現在位置(Y座標) 3 実数 プレイヤーの現在位置(Z座標) System.MovePlayer関数 System.MovePlayer関数 説明プレイヤーを移動させます。 引数 順番 型 説明 1 整数 移動方向前進:SYS_DIR_FRONT後進:SYS_DIR_BACK 戻り値なし System.TurnPlayer関数 System.TurnPlayer関数 説明プレイヤーを回転させます。 引数 順番 型 説明 1 実数 回転角(右回り) 戻り値なし System.MovelayerWithoutWait関数 System.MovePlayerWithoutWait関数 説明プレイヤーを移動させます。(組み合わせ用) 引数 順番 型 説明 1 整数 移動方向前進:SYS_DIR_FRONT後進:SYS_DIR_BACK 戻り値なし 補足この関数は通常の移動関数や回転関数と組み合わせて使用します。 記述例 --30°回転しながら前進 System.MovePlayerWithoutWait(obj_id, SYS_DIR_FRONT) System.TurnPlayer(obj_id, SYS_PI / 6) System.TurnPlayerWithoutWait関数 System.TurnPlayerWithoutWait関数 説明プレイヤーを回転させます。(組み合わせ用) 引数 順番 型 説明 1 実数 回転角(右回り) 戻り値なし 補足この関数は通常の移動関数や回転関数と組み合わせて使用します。 記述例 --30°回転しながら前進 System.MovePlayerWithoutWait(obj_id, SYS_DIR_FRONT) System.TurnPlayer(obj_id, SYS_PI / 6) オブジェクト操作 System.SetChara関数 System.SetChara関数 説明フィールド上にキャラクターオブジェクトを配置します。 引数 順番 型 説明 1 文字列 オブジェクトファイルの名前(XMLファイル) 2 実数 配置座標(X座標) 3 実数 配置座標(Y座標) 4 実数 配置座標(Z座標) 5 実数 回転角(X軸・ラジアン単位・たぶん右回り) 6 実数 回転角(Y軸・ラジアン単位・たぶん右回り) 7 実数 回転角(Z軸・ラジアン単位・たぶん右回り) 8 実数 拡大率(X軸方向・1.0で等倍) 9 実数 拡大率(Y軸方向・1.0で等倍) 10 実数 拡大率(Z軸方向・1.0で等倍) 11 文字列 スクリプトパス(設定しない場合は空の文字列を指定) 戻り値 型 説明 整数 成功すれば配置したキャラクターオブジェクトのID、失敗すれば-1を返す。 補足マップファイルに指定されているキャラクターオブジェクトはマップファイルの上から順に1からIDが割り振られている。ファイルは MapData フォルダから読み込まれます。 System.MoveChara関数 System.MoveChara関数 説明キャラクターオブジェクトを移動させます。 引数 順番 型 説明 1 整数 移動させたいキャラクターオブジェクトのID 2 整数 移動方向前進:SYS_DIR_FRONT後進:SYS_DIR_BACK 戻り値 型 説明 真理値 成功すればtrue、失敗すればfalseを返します。 System.TurnChara関数 System.TurnChara関数 説明キャラクターオブジェクトを回転させます。 引数 順番 型 説明 1 整数 回転させたいキャラクターオブジェクトのID 2 実数 回転角(右回り) 戻り値 型 説明 真理値 成功すればtrue、失敗すればfalseを返します。 System.MoveCharaWithoutWait関数 System.MoveCharaWithoutWait関数 説明キャラクターオブジェクトを移動させます。(組み合わせ用) 引数 順番 型 説明 1 整数 移動させたいキャラクターオブジェクトのID 2 整数 移動方向前進:SYS_DIR_FRONT後進:SYS_DIR_BACK 戻り値 型 説明 真理値 成功すればtrue、失敗すればfalseを返します。 補足この関数は通常の移動関数や回転関数と組み合わせて使用します。 記述例 --30°回転しながら前進 System.MoveCharaWithoutWait(obj_id, SYS_DIR_FRONT) System.TurnChara(obj_id, SYS_PI / 6) System.TurnCharaWithoutWait関数 System.TurnCharaWithoutWait関数 説明キャラクターオブジェクトを回転させます。(組み合わせ用) 引数 順番 型 説明 1 整数 回転させたいキャラクターオブジェクトのID 2 実数 回転角(右回り) 戻り値 型 説明 真理値 成功すればtrue、失敗すればfalseを返します。 記述例 --30°回転しながら前進 System.MoveCharaWithoutWait(obj_id, SYS_DIR_FRONT) System.TurnChara(obj_id, SYS_PI / 6) System.DeleteChara関数 System.DeleteChara関数 説明キャラクターオブジェクトを削除します。 引数 順番 型 説明 1 整数 削除したいキャラクターオブジェクトのID 戻り値なし System.FindCharaIdByName関数 System.FindCharaIdByName関数 説明キャラクターオブジェクトの名前からIDを取得します。 引数 順番 型 説明 1 文字列 キャラクターオブジェクトの名前 戻り値 型 説明 整数 成功すればキャラクターオブジェクトのID、失敗すれば-1を返します。 System.SetObject関数 System.SetObject関数 説明フィールド上に地形オブジェクトを配置します。 引数 順番 型 説明 1 文字列 オブジェクトファイルの名前(XMLファイル) 2 実数 配置座標(X座標) 3 実数 配置座標(Y座標) 4 実数 配置座標(Z座標) 5 実数 回転角(X軸・ラジアン単位・たぶん右回り) 6 実数 回転角(Y軸・ラジアン単位・たぶん右回り) 7 実数 回転角(Z軸・ラジアン単位・たぶん右回り) 8 実数 拡大率(X軸方向・1.0で等倍) 9 実数 拡大率(Y軸方向・1.0で等倍) 10 実数 拡大率(Z軸方向・1.0で等倍) 11 文字列 スクリプトパス(設定しない場合は空の文字列を指定) 戻り値 型 説明 整数 成功すれば配置した地形オブジェクトのID、失敗すれば-1を返す。 補足マップファイルに指定されている地形オブジェクトはマップファイルの上から順に1からIDが割り振られている。ファイルは MapData フォルダから読み込まれます。 System.MoveObject関数 System.MoveObject関数 説明地形オブジェクトを移動させます。 引数 順番 型 説明 1 整数 移動させたい地形オブジェクトのID 2 整数 移動方向前進:SYS_DIR_FRONT後進:SYS_DIR_BACK 戻り値 型 説明 真理値 成功すればtrue、失敗すればfalseを返します。 System.TurnObject関数 System.TurnObject関数 説明地形オブジェクトを回転させます。 引数 順番 型 説明 1 整数 回転させたい地形オブジェクトのID 2 実数 回転角(右回り) 戻り値 型 説明 真理値 成功すればtrue、失敗すればfalseを返します。 System.MoveObjectWithoutWait関数 System.MoveObjectWithoutWait関数 説明地形オブジェクトを移動させます。(組み合わせ用) 引数 順番 型 説明 1 整数 移動させたい地形オブジェクトのID 2 整数 移動方向前進:SYS_DIR_FRONT後進:SYS_DIR_BACK 戻り値 型 説明 真理値 成功すればtrue、失敗すればfalseを返します。 補足この関数は通常の移動関数や回転関数と組み合わせて使用します。 記述例 --30°回転しながら前進 System.MoveObjectWithoutWait(obj_id, SYS_DIR_FRONT) System.TurnObject(obj_id, SYS_PI / 6) System.TurnObjectWithoutWait関数 System.TurnObjectWithoutWait関数 説明地形オブジェクトを回転させます。(組み合わせ用) 引数 順番 型 説明 1 整数 回転させたい地形オブジェクトのID 2 実数 回転角(右回り) 戻り値 型 説明 真理値 成功すればtrue、失敗すればfalseを返します。 記述例 --30°回転しながら前進 System.MoveObjectWithoutWait(obj_id, SYS_DIR_FRONT) System.TurnObject(obj_id, SYS_PI / 6) System.DeleteObject関数 System.DeleteObject関数 説明地形オブジェクトを削除します。 引数 順番 型 説明 1 整数 削除したい地形オブジェクトのID 戻り値なし System.FindObjectIdByName関数 System.FindObjectIdByName関数 説明地形オブジェクトの名前からIDを取得します。 引数 順番 型 説明 1 文字列 地形オブジェクトの名前 戻り値 型 説明 整数 成功すれば地形オブジェクトのID、失敗すれば-1を返します。 フィールド操作 System.ChangeField関数 System.ChangeField関数 説明指定したフィールドに移動(切り替え)します。 引数 順番 型 説明 1 文字列 移動先のフィールド名※フィールド定義ファイルのパスではありません。 2 文字列 ジャンプポイントの名前 戻り値 型 説明 真理値 成功すればtrue、失敗すればfalseを返します。 サウンド操作 System.LoadBGM関数 System.LoadBGM関数 説明音楽ファイルを読み込みBGMとして再生します。 引数 順番 型 説明 1 文字列 音楽ファイルのパス 戻り値 型 説明 真理値 成功すればtrue、失敗すればfalseを返します。 補足音楽ファイルは Sound\BGM フォルダから読み込まれます。 System.PlayBGM関数 System.PlayBGM関数 説明停止/一時停止したBGMを再生します。 引数なし 戻り値なし System.PauseBGM関数 System.PauseBGM関数 説明再生中のBGMを一時停止します。 引数なし 戻り値なし System.StopBGM関数 System.StopBGM関数 説明再生中のBGMを停止します。 引数なし 戻り値なし System.LoadBGS関数 System.LoadBGS関数 説明音楽ファイルを読み込みBGS(Background Sound 環境音)として再生します。 引数 順番 型 説明 1 文字列 音楽ファイルのパス 戻り値 型 説明 真理値 成功すればtrue、失敗すればfalseを返します。 補足音楽ファイルは Sound\BGS フォルダから読み込まれます。 System.PlayBGS関数 System.PlayBGS関数 説明停止/一時停止したBGS(Background Sound 環境音)を再生します。 引数なし 戻り値なし System.PauseBGS関数 System.PauseBGS関数 説明再生中のBGS(Background Sound 環境音)を一時停止します。 引数なし 戻り値なし System.StopBGS関数 System.StopBGS関数 説明再生中のBGS(Background Sound 環境音)を停止します。 引数なし 戻り値なし System.PlaySE関数 System.PlaySE関数 説明音楽ファイルを読み込み、SEとして再生します。 引数 順番 型 説明 1 文字列 音楽ファイルのパス 戻り値 型 説明 整数 成功すれば読み込んだSEに対するID、失敗すれば-1を返します。 補足音楽ファイルは Sound\SE フォルダから読み込まれます。 System.PauseAllSound関数 System.PauseAllSound関数 説明再生中のすべての音楽を一時停止します。 引数なし 戻り値なし System.ResumeAllSound関数 System.ResumeAllSound関数 説明一時停止しているすべての音楽の再生を再開します。 引数なし 戻り値なし System.StopAllSound関数 System.StopAllSound関数 説明再生中のすべての音楽を停止します。 引数なし 戻り値なし 補足BGMとBGSは単なる停止の状態になるが、SEは停止した後に削除されるので、再度再生する時はPlaySE関数を呼び出す必要がある。 画像操作 System.ShowPicture関数 System.ShowPicture関数 説明画像を読み込み、表示します。 引数 順番 型 説明 1 文字列 画像ファイルのパス 2 整数 ピクチャの表示座標(X座標) 3 整数 ピクチャの表示座標(Y座標) 戻り値 型 説明 整数 成功した場合は表示した画像のID、失敗した場合は-1を返します。 補足画像ファイルは Picture\Event フォルダから読み込まれます。 System.MovePicture関数 System.MovePicture関数 不具合:妙な動きをする時がある(原因把握済み・そのうち修正) 説明画像を移動させます。 引数 順番 型 説明 1 文字列 画像のID 2 整数 移動先の座標(X座標) 3 整数 移動先の座標(Y座標) 4 整数 移動までにかかるフレーム数 戻り値なし System.ClearPicture関数 System.ClearPicture関数 説明画像を消去します。 引数 順番 型 説明 1 整数 画像のID 戻り値なし テンプレ 関数 関数 説明 引数 順番 型 説明 戻り値 型 値 説明
https://w.atwiki.jp/hmiku/pages/51703.html
【検索用 りふぁれんすえんしん 登録タグ Synthesizer V り 小春六花 曲 鈴木凹】 + 目次 目次 曲紹介 歌詞 コメント 作詞:鈴木凹 作曲:鈴木凹 編曲:鈴木凹 唄:小春六花 曲紹介 曲名:『リファレンス・エンジン』 本当になにも言いたくないという気持ちで作った。 歌詞 (bandcampより転載) 引用とアーカイブのリメイクで 延命している今 すべて日の下に新しいものはない 未来はどこへ行くんだ? 元ネタなんてものを ボクは知りたくないんだ、もう 意味で意味を洗うアート 最後まで意味たっぷり♡ これみよがしなクォーテーションマーク あなたと、コンビに、ファミリーマート ありあわせの過去だけが精一杯の未来 おかしいよね なにも言わないで消えないでよ リファレンス・エンジン リファレンス・エンジン 扇子がないから リファレンス・エンジン リファレンス・エンジン うちわを使うよ センスよくちりばめられた オマージュ、パスティーシュ、パロディ わかるやつにはわかる目くばせ よろこべ、趣味のいいキミだよ 同じセンスをしているなんて、めでたい 答え合わせ、インターネットで 教養のゲーム、いまだけ十連ガチャ無料 なんだってこんな競争…… 高齢化する実況スレの才媛 もうなにも再生しないでくれ なあ、この十年でリバイバルって言葉を何回聞いた? 答えは風に吹かれている、嘘、正解は越後製菓 未来派野郎のぼやいた苦悩は 「最初の生の後に二番目の生はいらない」 リファレンス・エンジン リファレンス・エンジン 扇子がないから リファレンス・エンジン リファレンス・エンジン うちわを使うよ なにもかも重い、重すぎる 意味ってやつは かつら剥き、大根役者は黙ってろ リズムの周縁 終点は上の上の方にある 嗅いだことのあるにおいがした 二番のない歌もあったほうがいいだろ 「未来なんてない」となんと十七の子どもが! 先のことがわかるなら株でも買えば? 乱調の美学は韻を踏まない 踏んじゃったものは まあ、しょうがないか 鈍感な思春期がなんか言ってるよ DON’T TRUST OVER 30 ンッン~ 名盤だな、これは わたしもおじさんになったよ コーダで終わらない文脈からの逃走 大谷さんはホームラン打つからすごい コメント 名前 コメント
https://w.atwiki.jp/atwikimyj/pages/90.html
mod_perl2を使う上でカレントディレクトリを変更できない という場合がある。これは設定を変更することで 回避できる(普通のCGIと同じように使えるが、その分プロセス をたくさん使用するのでメモリを余計使う)。 それにはperlのインストール時に"ithread"という機能が有効 になっていなければならない。 Perlインストール時にデフォルトでインストールすると ithreadという機能が無効になった状態でインストール される。 その状態で、httpd.confに PerlOptions +Parentを付与しても下記のようなエラーがでる。 # apachectl graceful Syntax error on line 15 of /var/www/vhosts/flier.net/conf/vhost.conf PerlOption `Parent requires an ithreads enabled Perl そもそもithreadとは何ぞや Perlのithreads http //www.donzoko.net/doc/memo/perlithreads.html#basic すばらしい解説ページ。 ここの「基本編」内のperlドキュメント日本語訳によると、 現在起動しているperlでithreadが有効になっているかどうかは perl -V にてperlのコンフィグを確認し、 useithreads=undef なら無効 useithreads=define なら有効 とある。早速確認すると、undefだった。有効にするには、 perlをインストールする際のConfigureにてオプションを 追加することでithreadを有効にすることが可能になる。 freeBSDならば簡単にexportなど(よくわからんが)を使えば ithreadだけちょちょっと有効にできるみたい。 しかし今使っている環境はCentOSなのだ、、。 ということでperlの再インストールが必要となる。 [1]perlのstable版をダウンロード、サーバにアップ [2]解凍、解凍したフォルダに移動 [3]Configureで設定を行う # ./Configure -Dprefix=/usr/local -Dusethreads -de -U d_setlocate の後に #make そして #make test 最後に #make install make testの途中で以下のようなsyslogのエラーが出るが ext/Sys/Syslog/t/syslog...................# Failed test syslog() should return true 0 # in ../ext/Sys/Syslog/t/syslog.t at line 109. 弾小飼御大のblogを確認すると http //blog.livedoor.jp/dankogai/archives/50494105.html このエラーは特に問題ないみたい。 再度Perl -Vを実行して、有効になっていれば ithread有効化は完了。